A storage area network (SAN) is a specialised high speed network which is operable for the attachment of servers and storage devices. A SAN allows an ‘any-to-any’ connection across the network, using interconnected elements such as routers, hubs, switches and directors. A SAN eliminates the traditional dedicated connection between a server and a storage device. A SAN also eliminates restrictions to the amount of data that a server can access, currently limited by the number of storage devices, which can be attached to the individual server.
One aspect of SANs which has proved challenging is the automated provisioning of applications and servers which can be configured and deployed for operating with storage area network attached storage without human intervention. Automated application, server and storage provisioning require that all steps to deploy and configure an application on a server with externally attached storage are automated without human intervention.
The automated provisioning of externally attached storage in a SAN environment comprises a number of linked steps: firstly, the automatic selection of storage volumes, secondly, the secure mapping of the volume to a server from the storage device, thirdly, SAN network path configuration from the server to the storage device and lastly, the creation of volumes and file systems on the server.
The automated provisioning of shared storage resources requires a different storage area network path configuration for each server using storage in the storage area network environment. This must take into account the changing dynamics of the environment as the shared storage resources are consumed by users, and as additional servers and storage devices are added and removed. An automated provisioning manager must therefore be able to determine usage and configuration of resources in the shared storage environment and further determine and implement appropriate storage area network path configuration from the host to the selected storage device without administrator involvement.
Known solutions to the problem of determining storage area network path configuration for storage devices rely on path configurations being created for an application or a server by a skilled SAN administrator. This process can be applied to a single server or a number of servers, but once all the potential connections via the determined configuration path and specific device network ports have been exhausted or have reached maximum utilisation the configuration must be renewed. Alternatively, if the storage device reaches capacity, configuration paths to new storage devices must be determined. In an automated environment path selection must be determined and implemented automatically and adjust to changes in the environment. A key requirement is that the path configuration created obeys the design rules and usage boundaries for the selected storage device. Failure to do so will result in an overall lower level of data availability due to soft and hard failures impacting access to data.
A partial solution to the issues highlighted above is described in US patent application 2003/0005119 A1, published on the 2 Jan. 2003—in which a data path engine is coupled to a storage area network for providing automated storage provisioning between an application on a storage area network attached server and a data volume on a storage area network attached storage subsystem. The apparatus provides a user interface that allows operators to use pre-created policies for criteria in order to select data paths that meet organisation's uptime and performance requirements. However, US 2003/0005119 does not address aspects of the problem of determining the most suitable paths and storage device ports for handling a provisioning request. Solving this problem in a storage area network is vital as in addition to maximising utilisation and spreading workload evenly throughout the storage area network, the configurations created must be within the supported design parameters of the storage device and best usage practices.